package com.shrct.businessprocess.project;

import com.shrct.businessprocess.project.RCSalesAssignment;
import com.shrct.businessprocess.project.RCSalesCommissionYearSettlement;
import com.shrct.businessprocess.project.RCSalesTeam;
import com.shrct.businessprocess.project.impl.RCTeamMemberAssignmentImpl;
import com.shrct.businessprocess.project.proxy.RCTeamMemberAssignmentProxy;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;

@EntityImplementation(implementBy = RCTeamMemberAssignmentImpl.class)
public interface RCTeamMemberAssignment extends IModelObject {
  public abstract RCSalesTeam getTeam();
  
  public abstract RCTeamMemberAssignment setTeam(final RCSalesTeam team);
  
  public abstract RCSalesAssignment getSales();
  
  public abstract RCTeamMemberAssignment setSales(final RCSalesAssignment sales);
  
  public abstract RCSalesCommissionYearSettlement getLastSettlement();
  
  public abstract Double getTeamGrossProfitGoal();
  
  public abstract Double getContractProfit();
  
  public abstract Double getTeamContributeAmount();
  
  public abstract Double getTeamContributeAmountTarget();
  
  public abstract void checkValid();
  
  public abstract RCTeamMemberAssignmentProxy toProxy();
}
